const loginIdValidator = new FieldValidator('txtLoginId', async function (val) {
    if (!val) {
        return '请填写账号';
    }
    const resp = await API.exists(val);
    if (resp.data) {
        // 账号存在
        return '该账号已存在，请重新输入账号';
    }
})
const nicknameValidator = new FieldValidator('txtNickname', async function (val) {
    if (!val) {
        return '请填写昵称';
    }
    const resp = await API.exists(val);
    if (resp.data) {
        // 账号存在
        return '该昵称已存在，请重新输入';
    }
});

const loginPwdValidator = new FieldValidator('txtLoginPwd', async function (val) {
    if (!val) {
        return '请输入密码';
    }
});

const loginPwdConfirmValidator = new FieldValidator('txtLoginPwdConfirm', async function (val) {
    if (!val) {
        return '请输入确认密码';
    }
    if (val !== loginPwdValidator.input.value) {
        return '两次密码不一致，请重新输入';
    }
})
const form = $('.user-form');

form.onsubmit = async function (e) {
    e.preventDefault();
    const result = await FieldValidator.validate(loginIdValidator, nicknameValidator, loginPwdValidator, loginPwdConfirmValidator);
    if (!result) {
        // 验证未通过
        return;
    }
    // 验证通过请求发起注册请求
    /* 这是一种方法，还可以通过表单获取数据对象
    const datas = {
         loginId:loginIdValidator.input.value,
         loginPwd:loginPwdValidator.input.value,
         nickname:nicknameValidator.input.value,
     }*/
    // 通过表单获取
    const formData = new FormData(form);
    // 先拿到entries数组，然后通过objec方法还原成一个对象
    const data = Object.fromEntries(formData.entries());
    // 发起注册请求
    const resp = await API.register(data);
    if(resp.code === 0){
        alert('注册成功,点击确定，跳转到登录页')
        // 跳转到登录
        location.href = './login.html';
    }
}